package dataStructLinkedList;

import java.util.LinkedList;
import java.util.ListIterator;

public class test {


    public static void main(String[] args) {

        LinkedList<Integer> list = new LinkedList<>();
        list.add(1); // add(elem): 表示尾插
        list.add(2);
        list.add(3);
        list.add(4);
        list.add(5);
        list.add(6);
        list.add(7);
        System.out.println(list.size());
// foreach遍历
        for (int e:list) {
            System.out.print(e + " ");
        }
        System.out.println();
// 使用迭代器遍历---正向遍历
        ListIterator<Integer> it = list.listIterator();
        while(it.hasNext()){
            System.out.print(it.next()+ " ");
        }
        System.out.println();
// 使用反向迭代器---反向遍历
        ListIterator<Integer> rit = list.listIterator(list.size());
        while (rit.hasPrevious()){
            System.out.print(rit.previous() +" ");
        }
        System.out.println();
//        LinkedList<Integer> list = new LinkedList<>();
//        list.add(1);
//        list.add(2);
//        list.add(3);
//        list.add(4);
//        //   使用foreach 遍历
//        for (int e : list) {
//            System.out.print(e+" ");
//        }
//        System.out.println();
//        System.out.println("============");
//        //    使用 迭代器遍历（正向遍历）
//        ListIterator<Integer> it = list.listIterator();
//        while (it.hasNext()){
//            System.out.print(it.next()+" ");
//        }
//        System.out.println();
//        System.out.println("=====反向=====");
//        //    使用 反向迭代器遍历（反向遍历）
//        ListIterator<Integer> rit = list.listIterator(list.size());
//        while (rit.hasPrevious()){
//            System.out.print(rit.previous()+" ");
//        }

//        MyLinkedList myLinkedList = new MyLinkedList();
//        myLinkedList.createLink();
//        myLinkedList.display();
//        System.out.println(myLinkedList.contains(100));
//        System.out.println(myLinkedList.size());
//        System.out.println("====测试 头插法 尾插法");
//        myLinkedList.addFirst(10);
//        myLinkedList.addLast(20);
//        myLinkedList.addLast(30);
//        myLinkedList.display();
//        System.out.println();
//        System.out.println("====== 测试任意位置插入");
//        myLinkedList.addIndex(2,88);
//        myLinkedList.display();
//        System.out.println();
//        System.out.println("====== 测试 remove");
//        myLinkedList.remove(88);
//        myLinkedList.display();
//        System.out.println("====== 测试 removeAllKey");
//        myLinkedList.addIndex(3,88);
//        myLinkedList.addIndex(2,88);
//        myLinkedList.display();
//        System.out.println();
//        myLinkedList.removeAllKey(88);
//        myLinkedList.display();
    }

}
